package com.hmall.api.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 用户服务Feign客户端
 * 功能：通过Feign远程调用user-service的用户余额扣减接口
 */
@FeignClient("user-service") // 指定目标服务名，用于服务发现
public interface UserClient {

    /**
     * 扣减用户余额
     * @param pw     支付密码
     * @param amount 扣减金额（单位：分）
     * @apiNote 对应user-service的PUT /users/money/deduct接口
     */
    @PutMapping("/users/money/deduct") // 映射服务的请求路径和方法
    void deductMoney(
            @RequestParam("pw") String pw,       // 请求参数：支付密码
            @RequestParam("amount") Integer amount // 请求参数：扣减金额
    );
}